{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TCDF: Temporal Causal Discovery Framework\n",
    "\n",
    "This notebook shows the functionality of TCDF. \n",
    "\n",
    "See the corresponding paper for more detail: __[\"Causal Discovery with Attention-Based Convolutional Neural Networks\"](https://www.mdpi.com/2504-4990/1/1/19)__."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "usage: runTCDF.py [-h] [--cuda] [--epochs EPOCHS] [--kernel_size KERNEL_SIZE]\n",
      "                  [--hidden_layers HIDDEN_LAYERS]\n",
      "                  [--learning_rate LEARNING_RATE] [--optimizer {Adam,RMSprop}]\n",
      "                  [--log_interval LOG_INTERVAL] [--seed SEED]\n",
      "                  [--dilation_coefficient DILATION_COEFFICIENT]\n",
      "                  [--significance SIGNIFICANCE] [--plot]\n",
      "                  (--ground_truth GROUND_TRUTH | --data DATA [DATA ...])\n",
      "\n",
      "TCDF: Temporal Causal Discovery Framework\n",
      "\n",
      "optional arguments:\n",
      "  -h, --help            show this help message and exit\n",
      "  --cuda                Use CUDA (GPU) (default: False)\n",
      "  --epochs EPOCHS       Number of epochs (default: 1000)\n",
      "  --kernel_size KERNEL_SIZE\n",
      "                        Size of sliding kernel (default: 4)\n",
      "  --hidden_layers HIDDEN_LAYERS\n",
      "                        Number of hidden layers in the depthwise convolution\n",
      "                        (default: 0)\n",
      "  --learning_rate LEARNING_RATE\n",
      "                        Learning rate (default: 0.01)\n",
      "  --optimizer {Adam,RMSprop}\n",
      "                        Optimizer to use (default: Adam)\n",
      "  --log_interval LOG_INTERVAL\n",
      "                        Epoch interval to report loss (default: 500)\n",
      "  --seed SEED           Random seed (default: 1111)\n",
      "  --dilation_coefficient DILATION_COEFFICIENT\n",
      "                        Dilation coefficient, recommended to be equal to\n",
      "                        kernel size (default: 4)\n",
      "  --significance SIGNIFICANCE\n",
      "                        Significance number stating when an increase in loss\n",
      "                        is significant enough to label a potential cause as\n",
      "                        true cause. See paper for more details (default: 0.8)\n",
      "  --plot                Show causal graph (default: False)\n",
      "  --ground_truth GROUND_TRUTH\n",
      "                        Provide dataset(s) and the ground truth(s) to evaluate\n",
      "                        the results of TCDF. Argument format:\n",
      "                        DataFile1=GroundtruthFile1,Key2=Value2,... with a key\n",
      "                        for each dataset containing multivariate time series\n",
      "                        (required file format: csv, a column with header for\n",
      "                        each time series) and a value for the corresponding\n",
      "                        ground truth (required file format: csv, no header,\n",
      "                        index of cause in first column, index of effect in\n",
      "                        second column, time delay between cause and effect in\n",
      "                        third column)\n",
      "  --data DATA [DATA ...]\n",
      "                        (Path to) one or more datasets to analyse by TCDF\n",
      "                        containing multiple time series. Required file format:\n",
      "                        csv with a column (incl. header) for each time series\n"
     ]
    }
   ],
   "source": [
    "\"\"\"Shows all argument options\"\"\"\n",
    "\n",
    "%run -i \"runTCDF.py\" --help"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To demonstrate the Temporal Causal Discovery Framework, we apply TCDF to a small dataset (`demo_dataset.csv`). This dataset contains 4 timeseries (called `Timeser0`,`Timeser1`,`Timeser2` and `Timeser3`), all containing 4,000 time steps. `Timeser0` and `Timeser3`contain random values. A value of `Timeser1` at timestep `t` is generated based on timestep `t-1` of `Timeser0` plus some noise. Therefore, `Timeser1` is caused by `Timeser0` with a delay of 1 time step. A value of `Timeser2` at timestep `t` is generated based on timestep `t-2` of `Timeser1` plus some noise. Therefore, `Timeser2` is caused by `Timeser1` with a delay of 2 time steps. File `demo_groundtruth` contains the ground truth, i.e. it tells that there is a causal relationship from `Timeser0` to `Timeser1` with a delay of 1 time step, and a causal relationship from `Timeser1` to `Timeser2` with a delay of 2 time steps."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Arguments: Namespace(cuda=False, data=['data/demo_dataset.csv'], dilation_coefficient=4, epochs=1000, ground_truth=None, hidden_layers=0, kernel_size=4, learning_rate=0.01, log_interval=500, optimizer='Adam', plot=False, seed=1111, significance=0.8)\n",
      "WARNING: You have a CUDA device, you should probably run with --cuda to speed up training.\n",
      "\n",
      " Dataset:  demo_dataset.csv\n",
      "\n",
      " Analysis started for target:  Timeser0\n",
      "Epoch:  1 [0%] \tLoss: 2.222850\n",
      "Epoch: 500 [50%] \tLoss: 1.696527\n",
      "Epoch: 1000 [100%] \tLoss: 1.694764\n",
      "Potential causes:  [1]\n",
      "Validated causes:  []\n",
      "\n",
      " Analysis started for target:  Timeser1\n",
      "Epoch:  1 [0%] \tLoss: 4.164954\n",
      "Epoch: 500 [50%] \tLoss: 0.002102\n",
      "Epoch: 1000 [100%] \tLoss: 0.002101\n",
      "Potential causes:  [0]\n",
      "Validated causes:  [0]\n",
      "\n",
      " Analysis started for target:  Timeser2\n",
      "Epoch:  1 [0%] \tLoss: 1.654594\n",
      "Epoch: 500 [50%] \tLoss: 0.364647\n",
      "Epoch: 1000 [100%] \tLoss: 0.364119\n",
      "Potential causes:  [1]\n",
      "Validated causes:  [1]\n",
      "\n",
      " Analysis started for target:  Timeser3 \n",
      "Epoch:  1 [0%] \tLoss: 2.173820\n",
      "Epoch: 500 [50%] \tLoss: 1.658268\n",
      "Epoch: 1000 [100%] \tLoss: 1.657922\n",
      "Potential causes:  [3, 2]\n",
      "Validated causes:  []\n",
      "\n",
      "===================Results for demo_dataset.csv ==================================\n",
      "Timeser0 causes Timeser1 with a delay of 1 time steps.\n",
      "Timeser1 causes Timeser2 with a delay of 2 time steps.\n",
      "==================================================================================\n"
     ]
    }
   ],
   "source": [
    "\"\"\"Run TCDF\"\"\"\n",
    "%matplotlib inline\n",
    "%run -i \"runTCDF.py\" --data data/demo_dataset.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Arguments: Namespace(cuda=False, data=None, dilation_coefficient=4, epochs=500, ground_truth={'data/demo_dataset.csv': 'data/demo_groundtruth.csv'}, hidden_layers=0, kernel_size=4, learning_rate=0.01, log_interval=250, optimizer='Adam', plot=True, seed=1111, significance=0.8)\n",
      "WARNING: You have a CUDA device, you should probably run with --cuda to speed up training.\n",
      "\n",
      " Dataset:  demo_dataset.csv\n",
      "\n",
      " Analysis started for target:  Timeser0\n",
      "Epoch:  1 [0%] \tLoss: 2.222850\n",
      "Epoch: 250 [50%] \tLoss: 1.698613\n",
      "Epoch: 500 [100%] \tLoss: 1.696527\n",
      "Potential causes:  [1, 2]\n",
      "Validated causes:  []\n",
      "\n",
      " Analysis started for target:  Timeser1\n",
      "Epoch:  1 [0%] \tLoss: 4.164954\n",
      "Epoch: 250 [50%] \tLoss: 0.002198\n",
      "Epoch: 500 [100%] \tLoss: 0.002102\n",
      "Potential causes:  [0]\n",
      "Validated causes:  [0]\n",
      "\n",
      " Analysis started for target:  Timeser2\n",
      "Epoch:  1 [0%] \tLoss: 1.654594\n",
      "Epoch: 250 [50%] \tLoss: 0.365195\n",
      "Epoch: 500 [100%] \tLoss: 0.364647\n",
      "Potential causes:  [1]\n",
      "Validated causes:  [1]\n",
      "\n",
      " Analysis started for target:  Timeser3 \n",
      "Epoch:  1 [0%] \tLoss: 2.173820\n",
      "Epoch: 250 [50%] \tLoss: 1.658737\n",
      "Epoch: 500 [100%] \tLoss: 1.658268\n",
      "Potential causes:  [3, 2]\n",
      "Validated causes:  []\n",
      "\n",
      "===================Results for demo_dataset.csv ==================================\n",
      "Timeser0 causes Timeser1 with a delay of 1 time steps.\n",
      "Timeser1 causes Timeser2 with a delay of 2 time steps.\n",
      "\n",
      "===================Evaluation for demo_dataset.csv ===============================\n",
      "Total False Positives':  0\n",
      "Total True Positives':  2\n",
      "Total False Negatives:  0\n",
      "Total Direct False Positives:  0\n",
      "Total Direct True Positives:  2\n",
      "TPs':  [(1, 0), (2, 1)]\n",
      "FPs':  []\n",
      "TPs direct:  [(1, 0), (2, 1)]\n",
      "FPs direct:  []\n",
      "FNs:  []\n",
      "Precision':  1.0\n",
      "Recall':  1.0\n",
      "F1' score:  1.0 (includes direct and indirect causal relationships)\n",
      "Precision:  1.0\n",
      "Recall:  1.0\n",
      "F1 score:  1.0 (includes only direct causal relationships)\n",
      "Percentage of delays that are correctly discovered:  100.0 %\n",
      "==================================================================================\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"Run TCDF and evaluate by comparing the results to the ground truth\"\"\"\n",
    "%matplotlib inline\n",
    "%run -i \"runTCDF.py\" --ground_truth data/demo_dataset.csv=data/demo_groundtruth.csv  --epochs 500 --log_interval 250 --plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Arguments: Namespace(cuda=False, data=['data/demo_dataset.csv'], dilation_coefficient=4, epochs=1000, hidden_layers=0, kernel_size=4, learning_rate=0.01, log_interval=500, optimizer='Adam', plot=True, seed=1111, train_test_split=0.8)\n",
      "WARNING: You have a CUDA device, you should probably run with --cuda to speed up training.\n",
      "\n",
      " Analysis started for target:  Timeser0\n",
      "Epoch:  1 [0%] \tLoss: 2.210495\n",
      "Epoch: 500 [50%] \tLoss: 1.685201\n",
      "Epoch: 1000 [100%] \tLoss: 1.684740\n",
      "\n",
      " Analysis started for target:  Timeser1\n",
      "Epoch:  1 [0%] \tLoss: 4.141793\n",
      "Epoch: 500 [50%] \tLoss: 0.002376\n",
      "Epoch: 1000 [100%] \tLoss: 0.002375\n",
      "\n",
      " Analysis started for target:  Timeser2\n",
      "Epoch:  1 [0%] \tLoss: 1.629594\n",
      "Epoch: 500 [50%] \tLoss: 0.357571\n",
      "Epoch: 1000 [100%] \tLoss: 0.357189\n",
      "\n",
      " Analysis started for target:  Timeser3 \n",
      "Epoch:  1 [0%] \tLoss: 2.189322\n",
      "Epoch: 500 [50%] \tLoss: 1.675226\n",
      "Epoch: 1000 [100%] \tLoss: 1.674774\n",
      "\n",
      "Mean Absolute Scaled Error (MASE) averaged over all time series in data/demo_dataset.csv : 0.4680553744852599 with standard deviation 0.307869153889617\n"
     ]
    },
    {
     "data": {
      "image/png": "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/8AxMPWKeGXN/jfcOB7mPVO89nUx+vfvz8yZM5k5cyannXYa55xzTu76jTeiHvoGrJ4PTZ/lr1vXFNw2KSWGYfDLX/6S22+/nQULFrBgwQKeffbZgssOQndLCNcCv8U87OKLCVs6aF6av/fmTfBOgTTuo6dMjnOuokn723bwV+2Jg9DWZP5NpQur14GgEykj4PXrYWKf7icoGcvI1ryshHVY0ke6On7e//4KPphU3PboUMz3sHyW+XflnOKVuQmhVy/zyOupU6dywAEHcOyxx7LttttywQUX8MADD7DHHnswZswYFi40j4Re1biWY445ht2POIHdjziB119/HYCXp77E2F13YezYsey22260tJjS2V//+ld23313dtllFy691DygbvHixeywww786le/Yty4cSxZsoTm5mb23m0nhJHhJz/5CY8//nhJ+91tbqfW8Y4rpZQzhBAHBqQ7BTgFYNSoUX7JkqN9PUgDanqHp9VBaBbN5y4y/+5+cvJ2LbM+uOWzYIdvmb8zUbwHwj5663kU45MQZvKkC8nzl1hVGiCKSahioqLG/Btp/BIi22HVVRWcblOAlPD46TDuJzBqz/z9dZ+b38EDx8JRN8CAbaKVd9sBsOepMPb48LQ++MMTHzJnabP+Ycd6SFfGJrY7DuvNpUcWHin8/fffZ+7cudTX17PVVltx8sknM23aNK677jpuuOEGrv3tiZx1yV8559cXs+9WPfns82Uc9pOTmTt3LldfeQU3/fEc9plwLOs7JDU1NUyePJkFCxYwbdo0pJQcddRRvPLSFEZtuQ3z5s3j7rvv5uabb2b69OmMGDEC1iyEdBUjRozg88+THNsdHd0pIewDHCWEWIx57u9BQoj73YmklLdLKcdLKccPHBgarC8+/jwCrhwZni4MxeK+Pn0DmpaASBW3XBu58uJ4I0RoQ6bDq+IKwqQT4c+ace9sK77NosJaSHQ2hEw7zEsohjcuhA2NzrKTSAhurJofbywBNq4x+zGxT7j6qWMDzLwf7v+u8/41O5qqoM/egBf+EK1eKWHZTHjcfWxzkZHUWG9kC/6Gdt99d4YOHUp1dTVbb701hx56KABjxoxh8eLFAEx59W3OOOMMxh7yA4466Ryam5tpaWlhnz1249w//J3rb7iBpqYmKioqmDx5MpMnT2a33XZj3LhxfDR3DgvefRVamxg9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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"Evaluates the prediction accuracy of TCDF.\"\"\"\n",
    "\"\"\"For more information about MASE (Mean Absolute Scaled Error), see https://otexts.org/fpp2/accuracy.html\"\"\"\n",
    "\n",
    "%matplotlib inline\n",
    "%run -i \"evaluate_predictions_TCDF.py\" --data data/demo_dataset.csv --plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
